package com.token.sysflow.bean;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
import com.token.sql.IntegrateSql;
import com.token.sql.AbstractTableBean;
/**
 * 审批数据文本
 * @author 代码创建
 */
public class FSysApproveProcessT extends AbstractTableBean {

    private String KeyUnid; //单据关联ID
    private String AppKeyTitle; //关联应用编号
    private String CreaterTitle; //创建人
    private String ApplyerTitle; //申请人
    private String FlowTitle; //当前流程
    private String StepTitle; //当前环节
    private String PreFlowTitle; //上一环节流程
    private String PreStepTitle; //上一环节环节
    private String ApprovalTypeTitle; //审批类型（普通审批，会审，会签，主-子流程，组织会审，组织会签）
    private int Code; //代码
    private String Message; //信息

    public FSysApproveProcessT (IntegrateSql f){
        super(f,"F_Sys_ApproveProcess_T");
        this.setKeyName("KeyUnid");
    }

    public FSysApproveProcessT (IntegrateSql f,ResultSet rs) throws SQLException{
        super(f,"F_Sys_ApproveProcess_T");
        this.setKeyName("KeyUnid");
        this.initParamToRs(rs);
    }

    public FSysApproveProcessT (IntegrateSql f,String keyValue) throws SQLException{
        super(f,"F_Sys_ApproveProcess_T");
        this.setKeyName("KeyUnid");
        setCodePrepare(selectCodeById().toString());
        prepareSql.setPstValue(1, keyValue);
        ResultSet rs = executeQuery();
        if(rs.next()){
            initParamToRs(rs);
        }else{
            initParam();
        }
        rs.close();
    }

    @Override
    protected void initParam() {
        KeyUnid = ""; //单据关联ID
        AppKeyTitle = ""; //关联应用编号
        CreaterTitle = ""; //创建人
        ApplyerTitle = ""; //申请人
        FlowTitle = ""; //当前流程
        StepTitle = ""; //当前环节
        PreFlowTitle = ""; //上一环节流程
        PreStepTitle = ""; //上一环节环节
        ApprovalTypeTitle = ""; //审批类型（普通审批，会审，会签，主-子流程，组织会审，组织会签）
        Code = 0; //代码
        Message = ""; //信息
    }


    public void initParamToRs(ResultSet rs) throws SQLException{
        KeyUnid = rs.getString("KeyUnid"); //单据关联ID
        AppKeyTitle = rs.getString("AppKeyTitle"); //关联应用编号
        CreaterTitle = rs.getString("CreaterTitle"); //创建人
        ApplyerTitle = rs.getString("ApplyerTitle"); //申请人
        FlowTitle = rs.getString("FlowTitle"); //当前流程
        StepTitle = rs.getString("StepTitle"); //当前环节
        PreFlowTitle = rs.getString("PreFlowTitle"); //上一环节流程
        PreStepTitle = rs.getString("PreStepTitle"); //上一环节环节
        ApprovalTypeTitle = rs.getString("ApprovalTypeTitle"); //审批类型（普通审批，会审，会签，主-子流程，组织会审，组织会签）
        Code = rs.getInt("Code"); //代码
        Message = rs.getString("Message"); //信息
        this.setKeyId(rs.getString("KeyUnid"));
    }


    @Override
    protected int appendData() throws SQLException {
        int i = 1;
        prepareSql.setPstValue(i++,KeyUnid); //单据关联ID
        prepareSql.setPstValue(i++,AppKeyTitle); //关联应用编号
        prepareSql.setPstValue(i++,CreaterTitle); //创建人
        prepareSql.setPstValue(i++,ApplyerTitle); //申请人
        prepareSql.setPstValue(i++,FlowTitle); //当前流程
        prepareSql.setPstValue(i++,StepTitle); //当前环节
        prepareSql.setPstValue(i++,PreFlowTitle); //上一环节流程
        prepareSql.setPstValue(i++,PreStepTitle); //上一环节环节
        prepareSql.setPstValue(i++,ApprovalTypeTitle); //审批类型（普通审批，会审，会签，主-子流程，组织会审，组织会签）
        prepareSql.setPstValue(i++,Code); //代码
        prepareSql.setPstValue(i++,Message); //信息
        return i;
    }


    @Override
    public Vector<String> getFields() {
        Vector<String> vec = new Vector<String>();
        vec.addElement("KeyUnid"); //单据关联ID
        vec.addElement("AppKeyTitle"); //关联应用编号
        vec.addElement("CreaterTitle"); //创建人
        vec.addElement("ApplyerTitle"); //申请人
        vec.addElement("FlowTitle"); //当前流程
        vec.addElement("StepTitle"); //当前环节
        vec.addElement("PreFlowTitle"); //上一环节流程
        vec.addElement("PreStepTitle"); //上一环节环节
        vec.addElement("ApprovalTypeTitle"); //审批类型（普通审批，会审，会签，主-子流程，组织会审，组织会签）
        vec.addElement("Code"); //代码
        vec.addElement("Message"); //信息
        return vec;
    }


    /**
     * 设置单据关联ID
     * @param keyunid
     */
    public void setKeyUnid(String keyunid){
        KeyUnid = keyunid;
    }
    /**
     * 获取KeyUnid
     * @return 单据关联ID
     */
    public String getKeyUnid(){
        return KeyUnid;
    }

    /**
     * 设置关联应用编号
     * @param appkeytitle
     */
    public void setAppKeyTitle(String appkeytitle){
        AppKeyTitle = appkeytitle;
    }
    /**
     * 获取AppKeyTitle
     * @return 关联应用编号
     */
    public String getAppKeyTitle(){
        return AppKeyTitle;
    }

    /**
     * 设置创建人
     * @param creatertitle
     */
    public void setCreaterTitle(String creatertitle){
        CreaterTitle = creatertitle;
    }
    /**
     * 获取CreaterTitle
     * @return 创建人
     */
    public String getCreaterTitle(){
        return CreaterTitle;
    }

    /**
     * 设置申请人
     * @param applyertitle
     */
    public void setApplyerTitle(String applyertitle){
        ApplyerTitle = applyertitle;
    }
    /**
     * 获取ApplyerTitle
     * @return 申请人
     */
    public String getApplyerTitle(){
        return ApplyerTitle;
    }

    /**
     * 设置当前流程
     * @param flowtitle
     */
    public void setFlowTitle(String flowtitle){
        FlowTitle = flowtitle;
    }
    /**
     * 获取FlowTitle
     * @return 当前流程
     */
    public String getFlowTitle(){
        return FlowTitle;
    }

    /**
     * 设置当前环节
     * @param steptitle
     */
    public void setStepTitle(String steptitle){
        StepTitle = steptitle;
    }
    /**
     * 获取StepTitle
     * @return 当前环节
     */
    public String getStepTitle(){
        return StepTitle;
    }

    /**
     * 设置上一环节流程
     * @param preflowtitle
     */
    public void setPreFlowTitle(String preflowtitle){
        PreFlowTitle = preflowtitle;
    }
    /**
     * 获取PreFlowTitle
     * @return 上一环节流程
     */
    public String getPreFlowTitle(){
        return PreFlowTitle;
    }

    /**
     * 设置上一环节环节
     * @param presteptitle
     */
    public void setPreStepTitle(String presteptitle){
        PreStepTitle = presteptitle;
    }
    /**
     * 获取PreStepTitle
     * @return 上一环节环节
     */
    public String getPreStepTitle(){
        return PreStepTitle;
    }

    /**
     * 设置审批类型（普通审批，会审，会签，主-子流程，组织会审，组织会签）
     * @param approvaltypetitle
     */
    public void setApprovalTypeTitle(String approvaltypetitle){
        ApprovalTypeTitle = approvaltypetitle;
    }
    /**
     * 获取ApprovalTypeTitle
     * @return 审批类型（普通审批，会审，会签，主-子流程，组织会审，组织会签）
     */
    public String getApprovalTypeTitle(){
        return ApprovalTypeTitle;
    }

    /**
     * 设置代码
     * @param code
     */
    public void setCode(int code){
        Code = code;
    }
    /**
     * 获取Code
     * @return 代码
     */
    public int getCode(){
        return Code;
    }

    /**
     * 设置信息
     * @param message
     */
    public void setMessage(String message){
        Message = message;
    }
    /**
     * 获取Message
     * @return 信息
     */
    public String getMessage(){
        return Message;
    }

}
